package example;
import java.io.File;
import java.util.Scanner;
//扫描指定⽬录，并找到名称中包含指定字符的所有普通⽂件（不包含⽬录），并且后续询问⽤⼾是否
//要删除该⽂件
public class demo17 {
    static void scan(File currentfile, String key){
        if(!currentfile.isDirectory()){
            return;
        }
        File[] files = currentfile.listFiles();

        if (files == null || files.length == 0) {
            return;
        }
        for(File f : files){
            if(f.isFile()){
                //针对普通文件进行处理
                //判定文件名是否符合要求并进行提示用户删除
                doDelete(f,key);
            }else {
                //针对目录进行处理
                //继续递归
                scan(f,key);
            }
        }
    }
    private static void doDelete(File f, String key) {
        if(!f.getName().contains(key)){
            //文件名中不包含指定关键字
            return;
        }
        //提示用户,是否确认删除
        Scanner scanner = new Scanner(System.in);
        System.out.println(f.getAbsolutePath() + "是否确认删除 Y/n");

        String choice = scanner.next();

        if(choice.equals("y") || choice.equals("Y")){
            f.delete();
        }
    }

    public static void main(String[] args) {
        System.out.println("请输入要搜索的路径: ");
        Scanner scanner = new Scanner(System.in);
        String rootPath = scanner.next();
        File rootFile = new File(rootPath);

        if(!rootFile.isDirectory()){
            System.out.println("输入路径不存在");
            return;
        }
        System.out.println("请输入要删除的文件名字的关键字");
        String key = scanner.next();

        //进行递归查找
        scan(rootFile,key);
    }
}
